【报Bug】uniapp重新渲染video时,内存会一直上涨,直至闪退【android】【app 您所在的位置:网站首页 uniapp input focus 【报Bug】uniapp重新渲染video时,内存会一直上涨,直至闪退【android】【app

【报Bug】uniapp重新渲染video时,内存会一直上涨,直至闪退【android】【app

2023-02-12 23:33| 来源: 网络整理| 查看: 265

项目场景是在屏幕上按照服务端提供的坐标渲染图片、文字、视频,所以整个项目就一个page,通过socket接收发布消息后下载文件,然后渲染到屏幕上,关键在于播放中会有刷新,比如播放一些内容60秒后,再播放另一些内容60秒,一直轮流播放。

切换的时候我通过v-if来更新vue的data,子组件(video、image)也都触发了beforeDestroy等钩子函数,但发现内存一直在增长。

为了验证,我重新创建一个空的新应用(附件:testuni.zip),页面打开后设置子组件(里面只有一个video)显示并播放,倒计时十秒后v-if清空子组件,然后又重新为v-if设置新的值,使得子组件重新创建并播放,使用android Profiler监测内存占用记录,截图如附件所示(video刷新测试内存检测.png),一会儿之后就闪退了,如附件截图所示(闪退截图.jpg)。设备那边给的限制是内存占用超过300MB,或者CPU占用超过30%,就杀掉进程,此处应该是内存超过300MB被杀掉了。

因为要做自动播放,所以不能用webview嵌入h5的方式来代替,生产环境BUG,万分焦急,还请官方大大帮忙看下,感谢。

logcat日志关键处如下: 02-09 11:16:45.921 380-397/system_process I/art: Background partial concurrent mark sweep GC freed 17526(1664KB) AllocSpace objects, 21(336KB) LOS objects, 19% free, 8MB/10MB, paused 4.401ms total 132.733ms 02-09 11:16:48.737 380-848/system_process I/MediaFocusControl: AudioFocus abandonAudioFocus() from android.media.AudioManager@3d48131e 02-09 11:16:48.993 380-675/system_process I/MediaFocusControl: AudioFocus requestAudioFocus() from android.media.AudioManager@3d48131e req=4flags=0x0 02-09 11:16:50.467 380-12020/system_process I/MediaFocusControl: AudioFocus requestAudioFocus() from android.media.AudioManager@3d48131e req=4flags=0x0 02-09 11:16:50.477 380-11458/system_process I/MediaFocusControl: AudioFocus requestAudioFocus() from android.media.AudioManager@3d48131e req=4flags=0x0 02-09 11:16:59.303 380-15274/system_process I/MediaFocusControl: AudioFocus abandonAudioFocus() from android.media.AudioManager@3d48131e 02-09 11:16:59.677 380-12020/system_process I/MediaFocusControl: AudioFocus requestAudioFocus() from android.media.AudioManager@3d48131e req=4flags=0x0 02-09 11:17:01.591 380-11458/system_process I/MediaFocusControl: AudioFocus requestAudioFocus() from android.media.AudioManager@3d48131e req=4flags=0x0 02-09 11:17:01.597 380-429/system_process I/MediaFocusControl: AudioFocus requestAudioFocus() from android.media.AudioManager@3d48131e req=4flags=0x0 02-09 11:17:05.393 380-581/system_process E/WifiStateMachine: WifiStateMachine CMD_START_SCAN source -2 txSuccessRate=438.01 rxSuccessRate=653.55 targetRoamBSSID=a0:69:d9:cf:7d:90 RSSI=-56 02-09 11:17:05.393 380-581/system_process E/WifiStateMachine: startDelayedScan send -> 13079 milli 20000 02-09 11:17:05.393 380-581/system_process E/WifiStateMachine: WifiStateMachine CMD_START_SCAN with age=1380311 interval=101250 maxinterval=300000 02-09 11:17:05.394 380-581/system_process E/WifiStateMachine: WifiStateMachine CMD_START_SCAN try full band scan age=1380311 interval=101250 maxinterval=300000 02-09 11:17:05.394 380-581/system_process E/WifiStateMachine: WifiStateMachine CMD_START_SCAN prevent full band scan due to pkt rate 02-09 11:17:05.394 380-581/system_process E/WifiStateMachine: WifiStateMachine CMD_START_SCAN source -2 ...and ignore scans tx=438.01 rx=653.55 02-09 11:17:09.851 380-12020/system_process I/MediaFocusControl: AudioFocus abandonAudioFocus() from android.media.AudioManager@3d48131e 02-09 11:17:10.152 380-675/system_process I/MediaFocusControl: AudioFocus requestAudioFocus() from android.media.AudioManager@3d48131e req=4flags=0x0 02-09 11:17:11.939 380-32199/system_process I/MediaFocusControl: AudioFocus requestAudioFocus() from android.media.AudioManager@3d48131e req=4flags=0x0 02-09 11:17:11.947 380-23468/system_process I/MediaFocusControl: AudioFocus requestAudioFocus() from android.media.AudioManager@3d48131e req=4flags=0x0 02-09 11:17:19.033 380-444/system_process D/process_monitor: state : pid: 23855 cpu: 22 memory: 318 storage: 121 name : io.dcloud.HBuilder 02-09 11:17:19.118 380-445/system_process D/AppWarningDialog: killApps ProcessRecord{3b3ab16e 23855:io.dcloud.HBuilder/u0a87} 02-09 11:17:19.119 380-445/system_process W/ActivityManagerService: Force finishing activity 1 io.dcloud.HBuilder/io.dcloud.PandoraEntryActivity 02-09 11:17:19.122 380-445/system_process D/ActivityManagerService: moveHomeStackTaskToTop: moving TaskRecord{698988b #103 A=com.hik.vis.indoor U=0 sz=1} 02-09 11:17:19.155 380-445/system_process D/WindowManagerService: null ==========setInputFocusLw ========== ======= 02-09 11:17:19.160 380-445/system_process D/DisplayManager: getDisplayInfo: displayId=0, info=DisplayInfo{"内置屏幕", uniqueId "local:0", app 1024 x 552, real 1024 x 600, largest app 1024 x 941, smallest app 600 x 517, 57.481 fps, supportedRefreshRates [57.481], rotation 0, density 160 (159.5681 x 160.42105) dpi, layerStack 0, appVsyncOff 0, presDeadline 18397053, type BUILT_IN, state ON, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS} 02-09 11:17:19.245 380-445/system_process I/ActivityManagerService: Killing 23855:io.dcloud.HBuilder/u0a87 (adj 0): user request after error 02-09 11:17:19.468 380-445/system_process E/libprocessgroup: failed to kill 1 processes for processgroup 23855 02-09 11:17:19.471 380-445/system_process D/DisplayManager: getDisplayInfo: displayId=0, info=DisplayInfo{"内置屏幕", uniqueId "local:0", app 1024 x 552, real 1024 x 600, largest app 1024 x 941, smallest app 600 x 517, 57.481 fps, supportedRefreshRates [57.481], rotation 0, density 160 (159.5681 x 160.42105) dpi, layerStack 0, appVsyncOff 0, presDeadline 18397053, type BUILT_IN, state ON, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS} 02-09 11:17:19.471 380-445/system_process D/PhoneWindow: DecorView - SCREEN_WEITH = 1024 - SCREE_HEIGHT = 552 02-09 11:17:19.477 380-925/system_process W/MediaFocusControl: AudioFocus audio focus client died 02-09 11:17:19.477 380-925/system_process I/MediaFocusControl: AudioFocus removeFocusStackEntry(): removing entry for android.os.BinderProxy@19854d75 02-09 11:17:19.480 380-582/system_process D/WifiService: Client connection lost with reason: 4 02-09 11:17:19.490 380-570/system_process W/InputDispatcher: channel '26335f37 io.dcloud.HBuilder/io.dcloud.PandoraEntryActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9 02-09 11:17:19.490 380-570/system_process E/InputDispatcher: channel '26335f37 io.dcloud.HBuilder/io.dcloud.PandoraEntryActivity (server)' ~ Channel is unrecoverably broken and will be disposed! 02-09 11:17:19.507 380-925/system_process I/WindowState: WIN DEATH: Window{26335f37 u0 io.dcloud.HBuilder/io.dcloud.PandoraEntryActivity} 02-09 11:17:19.507 380-925/system_process W/InputDispatcher: Attempted to unregister already unregistered input channel '26335f37 io.dcloud.HBuilder/io.dcloud.PandoraEntryActivity (server)' 02-09 11:17:19.526 380-445/system_process D/DisplayManager: getDisplayInfo: displayId=0, info=DisplayInfo{"内置屏幕", uniqueId "local:0", app 1024 x 552, real 1024 x 600, largest app 1024 x 941, smallest app 600 x 517, 57.481 fps, supportedRefreshRates [57.481], rotation 0, density 160 (159.5681 x 160.42105) dpi, layerStack 0, appVsyncOff 0, presDeadline 18397053, type BUILT_IN, state ON, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS} 02-09 11:17:19.536 380-445/system_process D/WindowManagerService: Window{9eb7762 u0 Application Usage Status} ==========setInputFocusLw ========== ======= 02-09 11:17:19.540 380-23468/system_process W/art: Long monitor contention event with owner method=void com.android.server.am.ActivityManagerService$MainHandler.handleMessage(android.os.Message) from ActivityManagerService.java:1430 waiters=2 for 395ms 02-09 11:17:19.541 380-675/system_process W/art: Long monitor contention event with owner method=void com.android.server.am.ActivityManagerService$MainHandler.handleMessage(android.os.Message) from ActivityManagerService.java:1430 waiters=1 for 455ms 02-09 11:17:19.542 380-12020/system_process W/art: Long monitor contention event with owner method=void com.android.server.am.ActivityManagerService$MainHandler.handleMessage(android.os.Message) from ActivityManagerService.java:1430 waiters=3 for 305ms 02-09 11:17:19.544 380-11458/system_process W/art: Long monitor contention event with owner method=void com.android.server.am.ActivityManagerService$MainHandler.handleMessage(android.os.Message) from ActivityManagerService.java:1430 waiters=0 for 460ms 02-09 11:17:19.561 380-445/system_process D/ViewRootImpl: onAttachToWindow register content observer attrs=WM.LayoutParams{(0,0)(wrapxwrap)mPosX=0mPosY=0mHScale=1.0mVScale=1.0 align=UNDEFINE taskId=-1 gr=#ffffffff sim=#120 ty=2010 fl=#1860002 pfl=0x110 fmt=-3 wanim=0x103046a surfaceInsets=Rect(32, 32 - 32, 32) needsMenuKey=2packageName=androidtoken=null} 02-09 11:17:19.678 380-445/system_process D/ViewRootImpl: 563



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有